package com.wkk.service;

import com.wkk.entity.Course;
import com.wkk.entity.MyCourse;
import com.wkk.entity.PageBean;

import java.util.List;

public interface CourseService {

    //添加自定课程（教练）
    boolean addCourse(Course course);

    //删除自己添加的课（教练）
    boolean deleteCourseByCid(Integer cid);

    //更新课时信息（教练）
    boolean updateCourse(Course course);

    //查询课时信息（根据教练名称/课程类型）
    List<Course> selectListByMoldOrTeacher(String searchValue);

    //按点击量降序排行
    List<Course> orderBySearchCount();

    //按预约量降序排行
    List<Course> orderByOrderCount();

    //获取所有课程信息
    List<Course> selectList();

    //查看单个课程信息
    Course selectOne(Integer cid);

    //记录点击量和预约量
    boolean updateCount(String key,Integer cid);

    //教练完成课程签退
    boolean achieveCourse(Integer cid);

    PageBean<Course> pageByCondition(String condition,Integer current);

    PageBean<Course> pageByQuery(Course course,Integer current);

    //============对我预约的课程进行修改===============

    //加入我的预约课程（会员）
    boolean addToMyCourse(MyCourse myCourse,Integer sign);

    //删除我的预约课程（会员）
    boolean deleteMyCourseById(Integer id);

    //更新我的预约课程（会员）
    boolean updateMyCourse(MyCourse myCourse);

    //获取本人的所有课程（会员）
    List<MyCourse> queryMyCoursesById(Integer uid);

    //预删除
    boolean updateMyCourseState(Integer id);

    MyCourse selectOneMC(Integer id);

    //=============对我的历史记录进行修改=================
    boolean addOrUpdateHistory(Course course,Integer uid);

    List<Course> desktopAboutCourse(Integer uid);

    //==========对打卡表的改变

    boolean addOrUpdateMySign(Integer id);

}
